<template>
  <div class="home">
    <!-- 搜索弹出层阴影 -->
    <transition name="van-fade">
        <div class="popup-shadow" v-show="isShowPopupShadow"></div> 
    </transition>

    <!-- 搜索弹出层 -->
    <transition name="van-slide-right">
      <router-view></router-view>
    </transition>

    <!--  面试题：页面出现弹出框，弹出框中出现底层页面的内容，应该如何处理。 -->
    <!--  v-show的值不能写死， 且必须和路径相关 -->
    <transition name="van-fade"> 
    <!-- 首页的内容 -->
    <div v-show="$route.path==='/home'">
      <!-- 首页搜索框 -->
      <van-search
        v-model="searchVal"
        placeholder="请输入搜索关键词"
        disabled
        @click="hdClickSearch"
      />
      <!-- 轮播图 -->
      <van-swipe class="my-swipe" :autoplay="3000" indicator-color="#1989fa">
        <van-swipe-item v-for="item in banner" :key="item.id">
          <img :src="item.image_url" alt="" width="100%" />
        </van-swipe-item>
      </van-swipe>
        <!-- 首页频道 -->
      <Grid :channelArr="channelArr" />
      <!-- 首页专题精选 -->
      <Topic :topicList="topicList" />
    <div>
      <p>第1个p标签</p>
      <p>第2个p标签</p>
      <p>第3个p标签</p>
      <p>第4个p标签</p>
      <p>第5个p标签</p>
      <p>第6个p标签</p>
      <p>第7个p标签</p>
      <p>第8个p标签</p>
      <p>第9个p标签</p>
      <p>第10个p标签</p>
      <p>第11个p标签</p>
      <p>第12个p标签</p>
      <p>第13个p标签</p>
      <p>第14个p标签</p>
      <p>第15个p标签</p>
      <p>第16个p标签</p>
      <p>第17个p标签</p>
      <p>第18个p标签</p>
      <p>第19个p标签</p>
      <p>第20个p标签</p>
      <p>第21个p标签</p>
      <p>第22个p标签</p>
      <p>第23个p标签</p>
      <p>第24个p标签</p>
      <p>第25个p标签</p>
      <p>第26个p标签</p>
      <p>第27个p标签</p>
      <p>第28个p标签</p>
      <p>第29个p标签</p>
      <p>第30个p标签</p>
      <p>第31个p标签</p>
      <p>第32个p标签</p>
      <p>第33个p标签</p>
      <p>第34个p标签</p>
      <p>第35个p标签</p>
      <p>第36个p标签</p>
      <p>第37个p标签</p>
      <p>第38个p标签</p>
      <p>第39个p标签</p>
      <p>第40个p标签</p>
      <p>第41个p标签</p>
      <p>第42个p标签</p>
      <p>第43个p标签</p>
      <p>第44个p标签</p>
      <p>第45个p标签</p>
      <p>第46个p标签</p>
      <p>第47个p标签</p>
      <p>第48个p标签</p>
      <p>第49个p标签</p>
      <p>第50个p标签</p>
      <p>第51个p标签</p>
      <p>第52个p标签</p>
      <p>第53个p标签</p>
      <p>第54个p标签</p>
      <p>第55个p标签</p>
      <p>第56个p标签</p>
      <p>第57个p标签</p>
      <p>第58个p标签</p>
      <p>第59个p标签</p>
      <p>第60个p标签</p>
      <p>第61个p标签</p>
      <p>第62个p标签</p>
      <p>第63个p标签</p>
      <p>第64个p标签</p>
      <p>第65个p标签</p>
      <p>第66个p标签</p>
      <p>第67个p标签</p>
      <p>第68个p标签</p>
      <p>第69个p标签</p>
      <p>第70个p标签</p>
      <p>第71个p标签</p>
      <p>第72个p标签</p>
      <p>第73个p标签</p>
      <p>第74个p标签</p>
      <p>第75个p标签</p>
      <p>第76个p标签</p>
      <p>第77个p标签</p>
      <p>第78个p标签</p>
      <p>第79个p标签</p>
      <p>第80个p标签</p>
      <p>第81个p标签</p>
      <p>第82个p标签</p>
      <p>第83个p标签</p>
      <p>第84个p标签</p>
      <p>第85个p标签</p>
      <p>第86个p标签</p>
      <p>第87个p标签</p>
      <p>第88个p标签</p>
      <p>第89个p标签</p>
      <p>第90个p标签</p>
      <p>第91个p标签</p>
      <p>第92个p标签</p>
      <p>第93个p标签</p>
      <p>第94个p标签</p>
      <p>第95个p标签</p>
      <p>第96个p标签</p>
      <p>第97个p标签</p>
      <p>第98个p标签</p>
      <p>第99个p标签</p>
      <p>第100个p标签</p>

    </div>
    </div>
    </transition>
  </div>
</template>

<script>
import { GetHomeData } from "@/request/api";
import Grid from "../components/home/Grid";
import Topic from "../components/home/Topic";
import {mapState,mapMutations} from "vuex";
export default {
  name: "Home",
  data() {
    return {
      searchVal: "",
      banner: [],
      channelArr: [],
      topicList: [],
    };
  },
  computed:{
    ...mapState({
      isShowPopupShadow:state=>state.isShowPopupShadow.isShowPopupShadow
    })
  },
  created() {
    // console.log(this.$route.path);
    GetHomeData().then((res) => {
      // console.log("已经封装了api", res.data);

      let { banner, channel, topicList } = res.data;
      // console.log(banner);
      this.banner = banner;
      this.channelArr = channel;
      this.topicList = topicList;
    });
  },
  components: {
    Grid,
    Topic,
  },
  methods:{
    ...mapMutations({
      changeIsShowPopupShadow:"isShowPopupShadow/changeIsShowPopupShadow"
    }),
    hdClickSearch(){
        this.$router.push('/home/searchpopup');
        // 展示黑色阴影
        this.changeIsShowPopupShadow(true);

    }
  }
};
</script>
<style scoped>
/* vue原生的过渡写法(注意事项： 组件中不要书写需要过渡的那个属性) */
/* .slide-enter,.slide-leave-to{
  /*过渡的开始状态 */
/* right:-100%;
}
.slide-enter-active,.slide-leave-active{
  transition: all .5s;
} */
/* .slide-enter-to,.slide-leave{ */
/*过渡的结束状态 */
/* right:0;
} */
.home{
  padding-bottom: .5rem;
}
.popup-shadow{
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 8;
}
</style>